#!/bin/bash
cd /home/pcaban/checker
DIR=`pwd`
if [ -f "$DIR/spr.conf" ] ; then . "$DIR/spr.conf" ; fi

if [ "$1" == "AUTO" ]; then echo "Auto run: `date`"; fi

STAN="`ps aux |grep -w "$0" |wc -l |cut -f1 -d" "`"
if [ ! $STAN -eq 3 ]
then
    echo "Sprawdzarka juz chodzi... mam taka nadzieje:) ($STAN)"
    exit 0
fi

if [ "$TYPE" == "icm" ] ; then TASKS=$TASKS_ICM; fi

while(true)
do
    lockfile -s1 -l3 rw.lock
    LINE=`head -n 1 kolejka.txt`
    rm -f rw.lock
    while [ "$LINE" != "" ]
    do
        NAZWA=`echo $LINE|cut -f1 -d" "`
        ZAD=`echo $LINE|cut -f2 -d" "`

        echo "Oceniam: $NAZWA ($ZAD)"
        cp "$DIR/$ZAD/$NAZWA" "$DIR/$ZAD.cpp"
        echo Rozwiazanie zadania $ZAD - $NAZWA >$DIR/$ZAD/dat/$NAZWA.log
        echo Sprawdzanie rozpoczeto `date "+%Y-%m-%d %H:%M:%S"` >>$DIR/$ZAD/dat/$NAZWA.log
        ./ocen $ZAD >>"$DIR/$ZAD/dat/$NAZWA.log"
        echo >>"$DIR/$ZAD/dat/$NAZWA.log"
        mv "$DIR/$ZAD.cpp" "$DIR/$ZAD/dat/$NAZWA"
        chmod 600 "$DIR/$ZAD/dat/$NAZWA"
        chmod 600 "$DIR/$ZAD/dat/$NAZWA.log"
        rm -f "$DIR/$ZAD/$NAZWA"
        rm -f "$DIR/$ZAD.*"
        rm -f $ZAD.out
        rm -f $ZAD.e

        lockfile -s1 -l3 rw.lock
        ./bin/chg_status "$ZAD" "$NAZWA"

        if [ "$TYPE" == "icm" ]
        then ./bin/ranking_icm
        else
            ./bin/chg_status_global "$NAZWA"
            ./bin/ranking_staly
        fi

        rm -f status
        date "+%s" >active.txt

        WIELKOSC=`wc -l kolejka.txt |cut -f1 -d" "`
        tail -n $((WIELKOSC-1)) kolejka.txt >tmp
        mv tmp kolejka.txt
        chmod 600 kolejka.txt

        LINE=`head -n 1 kolejka.txt`
        rm -f rw.lock
    done

    if [ "$1" == "AUTO" ]; then exit 0; fi

    date "+%s" >active.txt
    sleep 1
done
